﻿using EjemploEEF5.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace EjemploEEF5.Controllers
{
    public class MateriaController : Controller
    {
        //
        // GET: /Materia/
        private ContextoDatos baseDatos = new ContextoDatos();

        public ActionResult Index()
        {
            return View(baseDatos.entidadMateria.ToList());
        }
        public ActionResult Crear()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Crear(string nombre, string profesor, string horario)
        {
            Materia materia = new Materia();
            materia.nombre = nombre;
            materia.horario = horario;
            materia.profesor = profesor;
            baseDatos.entidadMateria.Add(materia);
            baseDatos.SaveChanges();
            return RedirectToAction("Index");
        }
        [HttpGet]
        public ActionResult Editar(int id)
        {
            return View(model: baseDatos.entidadMateria.Find(id));
        }
        [HttpPost]
        public ActionResult Editar(int id, string nombre, string profesor, string horario)
        {
            baseDatos.entidadMateria.Find(id).nombre = nombre;
            baseDatos.entidadMateria.Find(id).horario = horario;
            baseDatos.entidadMateria.Find(id).profesor = profesor;
            baseDatos.SaveChanges();

            return RedirectToAction("Index");
        }
        public ActionResult Borrar(int id)
        {
            Materia materiaBorrar = new Materia();
            materiaBorrar = baseDatos.entidadMateria.Find(id);
            baseDatos.entidadMateria.Remove(materiaBorrar);
            baseDatos.SaveChanges();
            return RedirectToAction("Index");
        }
        
        public ActionResult BuscarMateria(string Nombre)
        {
            var busqueda = from c in baseDatos.entidadMateria
                           where c.nombre == Nombre
                           select c;          
            return View(model: busqueda.ToList().ElementAt(0));
                
        }
        public ActionResult Volver()
        {
            return Redirect("/Materia/Index");
        }
        public ActionResult PaginaPrincipal()
        {
            return Redirect("/Home/Index");
        }
        public ActionResult Detalles(int id)
        {
            return View(model: baseDatos.entidadMateria.Find(id));
        }
    }
}
